Computer arrangements, including microprocessors and digital signal processors, have been designed for a wide range of applications and have been used in virtually every industry. For a variety of reasons, many of these applications have been directed to processing data, such as video and audio data, and have demanded minimal levels of power consumption and compactness. Some applications have further demanded a high-speed computing engine that can perform effectively on a real-time or near real-time basis. Many of these data-processing applications have required a data-signal processing circuit that is capable of performing multiple functions at ever-increasing speeds.
Various video and audio signal processing applications, such as moving pictures experts groups (MPEG) applications including MPEG-4, digital television, interactive graphics applications (e.g., synthetic content), interactive multimedia and others, employ standardized technological elements that enable the integration of various types of data for various applications. For example, the production, distribution and content access paradigms of video applications such as digital television, interactive graphics applications (e.g., synthetic content) and interactive multimedia (e.g., World Wide Web, distribution of and access to content) can be integrated. For these and other applications, the MPEG-4 standard provides a set of technologies to satisfy the needs of authors, service providers and end users alike, improving the ability to integrate these applications. For more information regarding the MPEG-4 standard, reference may be made to “Overview of the MPEG-4 Standard” available from the moving pictures experts group at the International Organisation for Standardisation, at the Telecom Italia Lab of Torino, Italy.
The MPEG-4 standard provides standardized ways to represent units of content, such as aural, visual and/or audiovisual content, called “media objects.” These media objects can be of natural or synthetic origin, such as natural content recorded with a camera or a microphone, or synthetic computer-generated content. The composition of these media objects is described to create compound media objects that form audiovisual scenes. Data associated with media objects is multiplexed and synchronized so that the it can be transported over network channels, providing a quality of service (QoS) appropriate for the nature of the specific media objects, and interact with an audiovisual scene generated at a receiver's end.
In signal processing applications, such as those employing the MPEG-4 standard, it is sometimes beneficial to filter signal data. For instance, MPEG-4 compression operates on 8×8 blocks of pixels, which are commonly read from and/or written to memory via 8 two-word bus accesses using a 32-bit bus. In memory, these pixels are little endian; larger byte addresses contain higher numbered pixels, with each pixel having an 8-bit value. With this approach, one 32-bit word includes 4 pixels, commonly referred to as a quad. MPEG-4 compression is lossy; the 8×8 blocks of pixels that come out of a decompression step may differ from the 8×8 blocks that were input to the compression step. Therefore, when multiple 8×8 blocks of pixels are assembled into an image, boundaries between the 8×8 blocks may be evident (e.g., the image exhibits “blockiness” in the form of horizontal and vertical edges). In order to address the blockiness, data defining the edge of video objects determined by pixel locations can be filtered to provide a better image. Such filtering, however, has been challenging in that filtering for various types of data, such as for horizontal and vertical edge filtering, has typically employed different types of filters. In addition, many previous filtering approaches do not efficiently use gates and/or memory cycles, which can undesirably require relatively high bandwidth and memory.
The present invention is directed to addressing challenges to the implementation and integration of signal processing applications, including the above-mentioned and to the filtering of signals in MPEG-4 and other types of signal processing.